Saltar al contenido principal

Enviando Mensajes a Microsoft Teams con Node-RED

Este tutorial le muestra cómo enviar notificaciones de inspección desde su cámara OV80i directamente a un canal de Microsoft Teams. Aprenderá a configurar alertas automáticas que incluyen resultados de inspección y enlaces clicables a imágenes, manteniendo a su equipo informado al instante sobre el estado de producción.

Lo que Construirá: Un sistema automatizado que publica resultados de inspección del OV80i, incluyendo imágenes y estado de aprobación/rechazo, directamente en un canal de Microsoft Teams.

Aplicación en el Mundo Real: Reciba notificaciones instantáneas cuando las inspecciones fallen, comparta imágenes de inspección con equipos remotos o cree reportes de calidad automáticos en su espacio de colaboración de equipo.

Prerrequisitos

  • Cámara OV80i conectada a la red de su planta
  • Acceso a Microsoft Teams con permiso para agregar conectores
  • Canal de Teams donde desea recibir notificaciones
  • Conectividad de red entre OV80i y Microsoft Teams
  • Conocimientos básicos de flujos Node-RED

Resumen del Tutorial

Lo que construiremos: Un flujo Node-RED que envía automáticamente resultados de inspección a Microsoft Teams con enlaces clicables a imágenes.

Tiempo requerido: 15-20 minutos

Habilidades adquiridas: Integración de webhook de Teams, solicitudes HTTP en Node-RED, sistemas de notificación automatizados

Paso 1: Configurar el Webhook de Microsoft Teams

1.1 Acceda a su Canal de Teams

  1. Abra Microsoft Teams y navegue al canal para notificaciones de inspección
  2. Haga clic en los tres puntos (•••) junto al nombre del canal
  3. Seleccione "Administrar canal" en el menú desplegable

1.2 Agregar Conector de Incoming Webhook

  1. Haga clic en "Conectores" en el menú de administración del canal
  2. Busque "Incoming Webhook" en la lista de conectores
  3. Haga clic en "Agregar" junto a la opción Incoming Webhook

1.3 Configurar Ajustes del Webhook

  1. Nombre: Ingrese un nombre descriptivo (por ejemplo, "Alertas de Inspección OV80i")
  2. Icono: Opcionalmente, cargue un ícono personalizado para sus notificaciones
  3. Haga clic en "Crear" para generar el webhook

1.4 Guardar URL del Webhook

  1. Copie la URL del webhook generada — esto es crucial para la configuración en Node-RED
  2. Guarde la URL en un lugar seguro (la necesitará en el Paso 2)
  3. Haga clic en "Listo" para completar la configuración en Teams

Punto de Control: Ahora debería tener una URL de webhook que luce así: https://yourcompany.webhook.office.com/webhookb2/...

Paso 2: Acceder a Node-RED en OV80i

2.1 Navegar a Node-RED

  1. Abra la interfaz web de OV80i
  2. Vaya a Recipe Editor > IO Block
  3. Haga clic en "Configure I/O" para entrar al editor Node-RED

2.2 Preparar su Área de Trabajo

  1. Libere un área en el lienzo de Node-RED para su flujo de integración con Teams
  2. Identifique la paleta en el lado izquierdo con los nodos disponibles
  3. Planifique su flujo: Disparador → Proceso → Enviar a Teams

Paso 3: Construir el Flujo Node-RED

3.1 Agregar Nodos Requeridos

Arrastre estos nodos desde la paleta a su lienzo:

  1. Nodo Inject (para pruebas)
  2. Nodo Function (para formatear el mensaje)
  3. Nodo HTTP request (para enviar a Teams)
  4. Nodo Debug (opcional, para solución de problemas)

3.2 Conectar los Nodos

  1. Conecte la salida del inject a la entrada del function
  2. Conecte la salida del function a la entrada del HTTP request
  3. Conecte la salida del HTTP request a la entrada del debug (opcional)

Estructura del flujo:

Inject → Function → HTTP Request → Debug

Paso 4: Configurar el Nodo Function

4.1 Configuración Básica del Mensaje

  1. Haga doble clic en el nodo function para abrir la configuración
  2. Reemplace el código predeterminado con este formato básico de mensaje:
// Mensaje básico para Teams
msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: "Tiene un nuevo mensaje de su OV80i"
};

return msg;

4.2 Mensaje Avanzado con Enlaces a Imágenes

Para resultados dinámicos de inspección con imágenes clicables:

// Mensaje dinámico con imagen de inspección
let imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `Inspección Completa - [Ver Imagen](${imageUrl})`
};

return msg;

4.3 Notificación Completa de Inspección

Para detalles completos de la inspección:

// Notificación completa de inspección
const inspectionData = msg.payload;
const imageUrl = inspectionData.image_url;
const result = inspectionData.result ? "PASS" : "FAIL";
const timestamp = new Date().toLocaleString();

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `🔍 **Inspección ${result}** - ${timestamp}\n\n[Ver Imagen](${imageUrl})`
};

return msg;

4.4 Guardar Configuración del Nodo Function

  1. Haga clic en "Listo" para guardar el nodo function
  2. Asigne un nombre descriptivo al nodo, como "Formatear Mensaje para Teams"

Paso 5: Configurar el Nodo HTTP Request

5.1 Configurar HTTP Request

  1. Haga doble clic en el nodo HTTP request para configurar
  2. Establecer Método: Seleccione "POST" en el menú desplegable
  3. Establecer URL: Pegue su URL del webhook de Teams del Paso 1.4
  4. Establecer Retorno: Seleccione "UTF-8 string"

5.2 Ajustes Adicionales

  • Nombre: Ingrese "Enviar a Teams" para claridad
  • Headers: Déjelo vacío (lo maneja el nodo function)
  • Payload: Déjelo en "Ignorar" (lo maneja el nodo function)

5.3 Guardar Configuración HTTP

  1. Haga clic en "Listo" para guardar el nodo HTTP request
  2. Verifique que la URL del webhook sea correcta — esto es crítico para el éxito

Paso 6: Probar su Integración

6.1 Desplegar el Flujo

  1. Haga clic en el botón "Deploy" en la esquina superior derecha
  2. Espere la confirmación de "Desplegado con éxito"
  3. Revise si hay indicadores de error en los nodos (triángulos rojos)

6.2 Probar con Nodo Inject

  1. Haga clic en el botón al lado izquierdo del nodo inject
  2. Revise el panel debug (barra lateral derecha) para mensajes de error
  3. Verifique que el mensaje aparezca en su canal de Teams

6.3 Verificar Notificación en Teams

  1. Cambie a Microsoft Teams y revise su canal objetivo
  2. Busque el mensaje de prueba enviado desde su OV80i
  3. Pruebe los enlaces clicables para asegurarse de que funcionen correctamente

Paso 7: Integración con el Flujo de Inspección

7.1 Conectar a Resultados de Inspección

Para enviar notificaciones automáticas después de cada inspección:

  1. Encuentre su flujo principal de inspección (usualmente comienza con "All Block Outputs")
  2. Agregue su notificación a Teams como una rama del flujo principal
  3. Conecte después del procesamiento de inspección pero antes de resultados finales

7.2 Ejemplo de Flujo de Integración

All Block Outputs → [Lógica de Inspección] → Resultado Final Pass/Fail

Formatear Mensaje para Teams → Enviar a Teams

7.3 Filtrar Notificaciones (Opcional)

Para enviar notificaciones solo cuando las inspecciones fallen:

// Solo enviar notificaciones para fallas
const inspectionResult = msg.payload.result;

if (!inspectionResult) { // Solo si la inspección falló
const imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `⚠️ **INSPECCIÓN FALLIDA** - Requiere atención inmediata\n\n[Ver Imagen Fallida](${imageUrl})`
};

return msg;
} else {
return null; // No enviar mensaje para inspecciones aprobadas
}

Paso 8: Solución de Problemas

8.1 Problemas Comunes

ProblemaSíntomasSolución
No hay mensaje en TeamsDebug muestra éxito pero no hay notificación en TeamsVerifique URL del webhook, confirme conectividad de red
Error HTTP 400Error de solicitud en debugRevise formato del mensaje, asegure encabezado Content-Type
Enlaces a imágenes no funcionanEl mensaje aparece pero las imágenes no se abrenVerifique que la URL de la imagen sea accesible desde la red de usuarios de Teams
El flujo no se disparaNo hay salida en debug cuando se esperaRevise conexiones del flujo, confirme condiciones del disparador

8.2 Depure su Flujo

  1. Agregue nodos debug después de cada paso para rastrear el flujo de datos
  2. Revise el panel debug para mensajes de error y estructura de datos
  3. Pruebe con nodo inject para aislar problemas de configuración
  4. Verifique la URL del webhook probándola con herramientas externas si es necesario

8.3 Conectividad de Red

  1. Asegúrese que OV80i pueda acceder a internet (prueba de ping desde la cámara)
  2. Revise configuraciones de firewall que puedan bloquear HTTPS saliente
  3. Verifique resolución DNS para URLs del webhook de Teams
  4. Pruebe desde un navegador en la misma red que la cámara

¡Éxito! Su Integración con Teams está Completa

Su cámara OV80i ahora puede:

Enviar notificaciones automáticas a canales de Microsoft Teams

Incluir enlaces clicables a imágenes para revisión inmediata de inspección

Filtrar notificaciones según resultados de inspección

Proporcionar formato enriquecido con detalles y marcas de tiempo

Soportar múltiples canales para diferentes tipos de notificaciones

Mejores Prácticas

Gestión de Mensajes

  • Use nombres descriptivos para canales según tipos de notificaciones
  • Incluya marcas de tiempo e identificadores de estación en los mensajes
  • Filtre mensajes para evitar sobrecarga de notificaciones
  • Pruebe exhaustivamente antes del despliegue en producción

Consideraciones de Seguridad

  • Proteja las URLs del webhook — trátelas como credenciales sensibles
  • Use HTTPS para todas las comunicaciones (por defecto con Teams)
  • Limite el acceso de red solo a servicios necesarios
  • Rote regularmente las URLs del webhook si se comprometen

Optimización de Rendimiento

  • Agrupe notificaciones si envía muchos mensajes
  • Use lógica de reintentos adecuada para fallas de red
  • Monitoree tasas de entrega de mensajes
  • Implemente limitación de tasa para evitar límites de API de Teams

image.png

Próximos Pasos

Después de configurar la integración con Teams:

  1. Cree diferentes canales de notificación para varios tipos de inspección
  2. Configure flujos de escalamiento para fallas críticas
  3. Integre con otras herramientas de equipo (correo electrónico, SMS, etc.)
  4. Construya dashboards combinando Teams con otras herramientas de monitoreo
  5. Capacite a su equipo para responder a notificaciones automatizadas

🔗 Vea También